package com.cee.service;

import com.cee.dto.ExamDTO;
import com.cee.model.Exam;

import java.math.BigDecimal;
import java.util.List;

public interface ExamService {

    /**
     * 列表
     * @param exam
     * @return
     */
    List<ExamDTO> getExamList(Exam exam);


    /**
     * 查询、预览显示
     * @param id
     * @return
     */
    ExamDTO getExamById(Integer id);


    /**
     * 逻辑删除试卷
     * @param id
     */
    void deleteExamById(Integer id);


    /**
     * save Exam
     * @param examDTO
     */
    void saveExam(ExamDTO examDTO);


    /**
     * 根据examId， 统计试卷分数， 更新总分
     * @param examId
     * @return
     */
    Integer countGradeAndUpdate(Integer examId);


    /**
     * 更新 EXAMTOTAL 总分
     * @param exam
     * @return
     */
    void updateExamTotal(Exam exam);


    /**
     * 验证试卷是否为closed，如果是则不让操作。 抛异常。
     * @param id
     */
    void checkExamStatus(Integer id);
}
